package com.sky.config;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @author dongdong 抖音号：W13883155245
 * @version 1.0
 * @date 2025/9/25
 * @description 支付宝
 */
@Configuration
@Data
public class AlipayConfig {
    // 应用ID,您的APPID，收款账号既是您的APPID对应支付宝账号
    @Value("${alipay.app-id}")
    private String appId;

    // 商户私钥，您的PKCS8格式RSA2私钥
    @Value("${alipay.private-key}")
    private String privateKey;

    // 支付宝公钥,查看地址：https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
    // 支付宝公钥,查看地址：https://openhome.alipaydev.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
    @Value("${alipay.public-key}")
    private String publicKey;

    // 服务器异步通知页面路径  需http://格式的完整路径，不能加?id=123这类自定义参数，必须外网可以正常访问
    @Value("${alipay.notify-url}")
    private String notifyUrl;

    // 页面跳转同步通知页面路径 需http://格式的完整路径，不能加?id=123这类自定义参数，必须外网可以正常访问
    @Value("${alipay.return-url}")
    private String returnUrl;

    // 签名方式
    private String signType = "RSA2";

    // 字符编码格式
    private String charset = "utf-8";

    // 支付宝网关
    @Value("${alipay.gateway-url}")
    private String gatewayUrl;

    // 格式
    private String format = "json";


    // 1. 替换为你的支付宝开放平台信息
    public static final String APP_ID = "9021000142600432"; // 应用ID
    public static final String APP_PRIVATE_KEY = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCCDhfYSa0AHRCY4thRtD28aHHhRjXbqKRDl48BvgzDNGtc5fwWGSo2W0OiezUzgMeh0Yb45fxUZBdIl5JaiiLqO"; // 应用私钥（PKCS8格式）
    public static final String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuYxdOx+IzMl8rjNTq1puNSYi7nhEW5vdt2+yoyXI8eFPH20rjsMqRfZ1BZJGC/s41A1F/DgoI3cVnoQ6/OJ/UjL86dCPJUZlvGe6oP8nhcqliYx3EUflQqVcxYJWKQi2dK6j0fO7DXq/giaFBoniwK+HNoMNAYu7pjxSDqIRUdgbjiM9lVx1AztoJ0YOjDdK1GLcXXaSstflVZv/ZnULzlU6ddfrH+KP0Ux7+SOV/A5dLlKJ/e2l+RnHwXqHzKsDjQhEj5mDa15etx3iLQMIOAJrWKfG9YB0v22J96Ky9qwpJz4Q2K+J405tbRvgeWffp5nPEs8t/py1iMT9U1mdkQIDAQAB"; // 支付宝公钥
    public static final String REDIRECT_URI = "https://dongdong.cloud/apiu/alipay/callback"; // 回调地址（需在开放平台配置）
    public static final String CHARSET = "UTF-8"; // 编码格式
    public static final String SIGN_TYPE = "RSA2"; // 签名方式（支付宝推荐RSA2）
    public static final String GATEWAY_URL = "https://openapi.alipay.com/gateway.do";//"https://openapi.alipaydev.com/gateway.do"; // 支付宝接口网关

    // 2. 初始化支付宝客户端（单例，全局复用）
    @Bean
    public AlipayClient alipayClient() {
        return new DefaultAlipayClient(
                GATEWAY_URL,
                APP_ID,
                APP_PRIVATE_KEY,
                "json",
                CHARSET,
                ALIPAY_PUBLIC_KEY,
                SIGN_TYPE
        );
    }

}
